home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the 3D Game Programming Gurus / gurus.iso / DirectX / dx9sdkcp.exe / SDK (C++) / Include / DShowIDL / Msvidctl.idl < prev    next >
Encoding:
Text File  |  2002-11-12  |  27.0 KB  |  716 lines

  1. // MSVidCtl.idl : IDL source for MSVidCtl.dll
  2. //
  3.  
  4. // This file will be processed by the MIDL tool to
  5. // produce the type library (MSVidCtl.tlb) and marshalling code.
  6.  
  7.  
  8. // Copyright (c) Microsoft Corporation 1998-2000
  9. //
  10.  
  11. cpp_quote("//+-------------------------------------------------------------------------")
  12. cpp_quote("//")
  13. cpp_quote("//  Microsoft Windows")
  14. cpp_quote("//  Copyright (C) Microsoft Corporation, 1999-2000.")
  15. cpp_quote("//")
  16. cpp_quote("//--------------------------------------------------------------------------")
  17. cpp_quote("#pragma once")
  18.  
  19. #include <olectl.h>
  20. #ifndef DO_NO_IMPORTS
  21. #ifndef TUNING_MODEL_ONLY
  22. import "mshtml.idl";
  23. import "segment.idl";
  24. #endif
  25. #endif
  26.  
  27. #ifndef TUNING_MODEL_ONLY
  28. typedef enum {
  29. dispidInputs,
  30. dispidOutputs,
  31. dispid_Inputs,
  32. dispid_Outputs,
  33. dispidVideoRenderers,
  34. dispidAudioRenderers,
  35. dispidFeatures,
  36. dispidInput,
  37. dispidOutput,
  38. dispidVideoRenderer,
  39. dispidAudioRenderer,
  40. dispidSelectedFeatures,
  41. dispidView,  // total graph control
  42. dispidBuild,
  43. dispidPause,
  44. dispidRun,
  45. dispidStop,
  46. dispidDecompose,
  47. dispidDisplaySize,
  48. dispidMaintainAspectRatio,
  49. dispidColorKey,
  50. dispidStateChange,
  51. dispidgetState,
  52. dispidunbind,
  53. dispidbind,
  54. dispidDisableVideo,
  55. dispidDisableAudio,
  56. dispidViewNext,
  57. dispidServiceP
  58. } MSViddispidList;
  59.  
  60. typedef enum {
  61.     dslDefaultSize,
  62.     dslSourceSize = 0,   // synonym
  63.     dslHalfSourceSize,
  64.     dslDoubleSourceSize,
  65.     dslFullScreen,
  66.     dslHalfScreen,
  67.     dslQuarterScreen,
  68.     dslSixteenthScreen
  69. } DisplaySizeList;    
  70.  
  71. typedef enum {
  72.     STATE_UNBUILT =-1,
  73.     STATE_STOP,
  74.     STATE_PAUSE,
  75.     STATE_PLAY,
  76.  
  77. } MSVidCtlStateList;
  78.  
  79. //*****************************************************************************
  80. ///////////////////////////////////////////////////////////////////////////////
  81. //
  82. //  the full Viewer control
  83. //
  84. ///////////////////////////////////////////////////////////////////////////////
  85. //*****************************************************************************
  86.  
  87.         ///////////////////////////////////////////////////////////////////////////////////////
  88.         [
  89.                 object,
  90.                 uuid(B0EDF162-910A-11D2-B632-00C04F79498E),
  91.                 dual,
  92.                 hidden,
  93.                 nonextensible,
  94.                 helpstring("MS Video Control Interface"),
  95.                 pointer_default(unique)
  96.         ]
  97.         interface IMSVidCtl : IDispatch
  98.         {
  99.                 // stock props
  100.                 [propget, id(DISPID_AUTOSIZE)]
  101.                     HRESULT AutoSize([out,retval]VARIANT_BOOL* pbool);
  102.                 [propput, id(DISPID_AUTOSIZE)]
  103.                     HRESULT AutoSize([in]VARIANT_BOOL vbool);
  104.                 [propget, id(DISPID_BACKCOLOR)]
  105.                     HRESULT BackColor([out,retval]OLE_COLOR* backcolor);
  106.                 [propput, id(DISPID_BACKCOLOR)]
  107.                     HRESULT BackColor([in]OLE_COLOR backcolor);
  108.                 [propget, id(DISPID_ENABLED)]
  109.                     HRESULT Enabled([out,retval]VARIANT_BOOL* pbool);
  110.                 [propput, id(DISPID_ENABLED)]
  111.                     HRESULT Enabled([in]VARIANT_BOOL vbool);
  112.                 [propget, id(DISPID_TABSTOP)]
  113.                     HRESULT TabStop([out, retval]VARIANT_BOOL* pbool);
  114.                 [propput, id(DISPID_TABSTOP)]
  115.                     HRESULT TabStop([in]VARIANT_BOOL vbool);
  116.                 [propget, id(DISPID_HWND)]
  117.                     HRESULT Window([out, retval]HWND* phwnd);
  118.                 [id(DISPID_REFRESH)]
  119.                     HRESULT Refresh();
  120.                 // pseudo video renderer properties/methods that require access to ole container 
  121.                 [propget, id(dispidDisplaySize)] 
  122.                     HRESULT DisplaySize([out,retval]DisplaySizeList *CurrentValue);
  123.                 [propput, id(dispidDisplaySize)] 
  124.                     HRESULT DisplaySize([in]DisplaySizeList NewValue);
  125.                 [propget, id(dispidMaintainAspectRatio)] 
  126.                     HRESULT MaintainAspectRatio([out,retval]VARIANT_BOOL *CurrentValue);
  127.                 [propput, id(dispidMaintainAspectRatio)]
  128.                     HRESULT MaintainAspectRatio([in]VARIANT_BOOL NewValue);
  129.  
  130.                 // non-stock visual propertiies that require coordination/implementation with
  131.                 // core ctl drawing/painting function
  132.                 [propget, id(dispidColorKey)] 
  133.                     HRESULT ColorKey([out,retval]OLE_COLOR *CurrentValue);
  134.                 [propput, id(dispidColorKey)]
  135.                     HRESULT ColorKey([in]OLE_COLOR NewValue);
  136.  
  137.  
  138.  
  139.                 // availablee collection
  140.                 [propget, id(dispidInputs), helpstring("Available Input Devices")] HRESULT InputsAvailable([in] BSTR CategoryGuid, [out, retval] IMSVidInputDevices * *pVal);
  141.                 [propget, id(dispidOutputs), helpstring("Available Output Devices")] HRESULT OutputsAvailable([in] BSTR CategoryGuid, [out, retval] IMSVidOutputDevices * *pVal);
  142.                 [propget, id(dispid_Inputs), hidden, restricted, helpstring("Available Input Devices")] HRESULT _InputsAvailable([in] LPCGUID CategoryGuid, [out, retval] IMSVidInputDevices * *pVal);
  143.                 [propget, id(dispid_Outputs), hidden, restricted, helpstring("Available Output Devices")] HRESULT _OutputsAvailable([in] LPCGUID CategoryGuid, [out, retval] IMSVidOutputDevices * *pVal);
  144.                 [propget, id(dispidVideoRenderers), helpstring("Available Video Renderers")] HRESULT VideoRenderersAvailable([out, retval] IMSVidVideoRendererDevices * *pVal);
  145.                 [propget, id(dispidAudioRenderers), helpstring("Available Audio Renderers")] HRESULT AudioRenderersAvailable([out, retval] IMSVidAudioRendererDevices * *pVal);
  146.                 [propget, id(dispidFeatures), helpstring("Available Features")] HRESULT FeaturesAvailable([out, retval] IMSVidFeatures * *pVal);
  147.                 // current selections
  148.                 [propget, id(dispidInput), helpstring("Currently Selected Input Device")] HRESULT InputActive([out, retval] IMSVidInputDevice **pVal);
  149.                 [propput, id(dispidInput), helpstring("Currently Selected Input Device")] HRESULT InputActive([in] IMSVidInputDevice *pVal);
  150.                 [propget, id(dispidOutput), helpstring("Currently Selected Output Devices")] HRESULT OutputsActive([out, retval] IMSVidOutputDevices **pVal);
  151.                 [propput, id(dispidOutput), helpstring("Currently Selected Output Devices")] HRESULT OutputsActive([in] IMSVidOutputDevices *pVal);
  152.                 [propget, id(dispidVideoRenderer), helpstring("Currently Selected Video Renderer")] HRESULT VideoRendererActive([out, retval] IMSVidVideoRenderer **pVal);
  153.                 [propput, id(dispidVideoRenderer), helpstring("Currently Selected Video Renderer")] HRESULT VideoRendererActive([in] IMSVidVideoRenderer *pVal);
  154.                 [propget, id(dispidAudioRenderer), helpstring("Currently Selected Audio Renderer")] HRESULT AudioRendererActive([out, retval] IMSVidAudioRenderer **pVal);
  155.                 [propput, id(dispidAudioRenderer), helpstring("Currently Selected Audio Renderer")] HRESULT AudioRendererActive([in] IMSVidAudioRenderer *pVal);
  156.                 [propget, id(dispidSelectedFeatures), helpstring("Currently Selected Features")] HRESULT FeaturesActive([out, retval] IMSVidFeatures **pVal);
  157.                 [propput, id(dispidSelectedFeatures), helpstring("Currently Selected Features")] HRESULT FeaturesActive([in] IMSVidFeatures *pVal);
  158.                 [propget, id(dispidgetState), helpstring("Check the current MSVidCtl state.")] HRESULT State([out, retval]MSVidCtlStateList* lState);
  159.                 // methods
  160.                 
  161.                 [id(dispidView), helpstring("Find an input device for viewing the specified item. This may be a string(VT_BSTR) or an object(VT_UNKNOWN).")] HRESULT View([in] VARIANT* v);
  162.                 [id(dispidBuild), helpstring("Compose the graph")] HRESULT Build();
  163.                 [id(dispidPause), helpstring("Stop the graph")] HRESULT Pause();
  164.                 [id(dispidRun), helpstring("Compose the graph if necessary and start it running")] HRESULT Run();
  165.                 [id(dispidStop), helpstring("Stop the graph")] HRESULT Stop();
  166.                 [id(dispidDecompose), helpstring("Disassemble the graph(Inverse of Build)")] HRESULT Decompose();
  167.                 [id(dispidDisableVideo), helpstring("set active video renderer to nothing")] HRESULT DisableVideo();
  168.                 [id(dispidDisableAudio), helpstring("set active Audio renderer to nothing")] HRESULT DisableAudio();
  169.                 [id(dispidViewNext), helpstring("Find another input device for viewing the specified item. Works like View except skips current input")] HRESULT ViewNext([in] VARIANT* v);
  170.                 [propput, id(dispidServiceP), helpstring("Set Service Provider")] HRESULT ServiceProvider([in] IUnknown* pServiceP);
  171.         };
  172.  
  173.  ///Added for the mseventbinder
  174.     [
  175.         object,
  176.         dual,
  177.         oleautomation,
  178.         hidden,
  179.         nonextensible,
  180.         pointer_default(unique),        
  181.         uuid(C3A9F406-2222-436D-86D5-BA3229279EFB),
  182.         helpstring("IMSEventBinder Interface"),
  183.     ]
  184.     interface IMSEventBinder : IDispatch {
  185.         [id(dispidbind), helpstring("method Bind")] HRESULT Bind([in]LPDISPATCH pEventObject, [in]BSTR EventName, [in]BSTR EventHandler, [out, retval] LONG * CancelID);
  186.         [id(dispidunbind), helpstring("method Unbind")] HRESULT Unbind([in]DWORD CancelCookie);
  187.     };
  188.  
  189.  
  190.  
  191. #endif // TUNING_MODEL_ONLY
  192.  
  193. //*****************************************************************************
  194. //*****************************************************************************
  195. //////////////////////////////////////////////////////////////////////////////////////
  196. // Type Library for MS Video Control
  197. //////////////////////////////////////////////////////////////////////////////////////
  198. //*****************************************************************************
  199. //*****************************************************************************
  200.  
  201.  
  202. [
  203.         uuid(B0EDF154-910A-11D2-B632-00C04F79498E),
  204.         version(1.0),
  205.         helpstring("MS Video Control 1.0 Type Library")
  206. ]
  207. library MSVidCtlLib
  208. {
  209.         importlib("stdole2.tlb");
  210.  
  211.  
  212. #ifndef TUNING_MODEL_ONLY
  213. ///////////////////////////////////////////////////////////////////////////////////////
  214. // event interfaces
  215. ///////////////////////////////////////////////////////////////////////////////////////
  216.  
  217.   [
  218.                 uuid(B0EDF164-910A-11D2-B632-00C04F79498E),
  219.                 helpstring("MS Video Control Events Interface")
  220.         ]
  221.         dispinterface _IMSVidCtlEvents
  222.         {
  223.         properties:
  224.                 //  Event interface has no properties
  225.         methods:
  226.             [id(DISPID_CLICK)] void Click();
  227.             [id(DISPID_DBLCLICK)] void DblClick();
  228.             [id(DISPID_KEYDOWN)] void KeyDown(short* KeyCode, short Shift);
  229.             [id(DISPID_KEYPRESS)] void KeyPress(short* KeyAscii);
  230.             [id(DISPID_KEYUP)] void KeyUp(short* KeyCode, short Shift);
  231.             [id(DISPID_MOUSEDOWN)] void MouseDown(short Button, short Shift, OLE_XPOS_PIXELS x, OLE_YPOS_PIXELS y);
  232.             [id(DISPID_MOUSEMOVE)] void MouseMove(short Button, short Shift, OLE_XPOS_PIXELS x, OLE_YPOS_PIXELS y);
  233.             [id(DISPID_MOUSEUP)] void MouseUp(short Button, short Shift, OLE_XPOS_PIXELS x, OLE_YPOS_PIXELS y);
  234.             [id(DISPID_ERROREVENT)] void Error(short Number, BSTR* Description, long Scode, BSTR Source, BSTR HelpFile, long HelpContext, boolean* CancelDisplay);
  235.             [id(dispidStateChange)] void StateChange(MSVidCtlStateList PrevState, MSVidCtlStateList CurrState);
  236.         };
  237.       
  238. //*****************************************************************************
  239. ///////////////////////////////////////////////////////////////////////////////////////
  240. // device classes
  241. ///////////////////////////////////////////////////////////////////////////////////////
  242. //*****************************************************************************
  243.  
  244. // inputs
  245.         ///////////////////////////////////////////////////////////////////////////////////////
  246.         [
  247.                 uuid(1C15D484-911D-11d2-B632-00C04F79498E),
  248.                 helpstring("MS Video Control Analog TV Tuner Device Class")
  249.         ]
  250.         coclass MSVidAnalogTunerDevice
  251.         {
  252.                 [default] interface IMSVidAnalogTuner;
  253.                 [default, source] interface IMSVidAnalogTunerEvent;
  254.                 interface IMSVidGraphSegment;
  255.         };
  256.  
  257.         ///////////////////////////////////////////////////////////////////////////////////////
  258.         [
  259.                 uuid(A2E3074E-6C3D-11d3-B653-00C04F79498E),
  260.                 helpstring("MS Video Control BDA Tuner Device Class")
  261.         ]
  262.         coclass MSVidBDATunerDevice
  263.         {
  264.                 [default] interface IMSVidTuner;
  265.                 [default, source] interface IMSVidTunerEvent;
  266.                 interface IMSVidGraphSegment;
  267.         };
  268.  
  269.         ///////////////////////////////////////////////////////////////////////////////////////
  270.         [
  271.                 uuid(37B0353C-A4C8-11d2-B634-00C04F79498E),
  272.                 helpstring("MS Video Control File Playback Device Class")
  273.         ]
  274.         coclass MSVidFilePlaybackDevice
  275.         {
  276.                 [default] interface IMSVidFilePlayback;
  277.                 [default, source] interface IMSVidFilePlaybackEvent;
  278.                 interface IMSVidGraphSegment;
  279.         };
  280.  
  281.  
  282.         [
  283.             uuid(011B3619-FE63-4814-8A84-15A194CE9CE3),
  284.             helpstring("MSVidWebDVD Class") 
  285.         ]
  286.         coclass MSVidWebDVD
  287.         {
  288.             [default] interface IMSVidWebDVD;
  289.             [default, source] interface IMSVidWebDVDEvent;
  290.             interface IMSVidGraphSegment;
  291.         };
  292.  
  293.         [
  294.             uuid(FA7C375B-66A7-4280-879D-FD459C84BB02),
  295.             helpstring("MSVidWebDVDAdm Class")
  296.         ]
  297.         coclass MSVidWebDVDAdm
  298.         {
  299.             [default] interface IMSVidWebDVDAdm;
  300.         };
  301.  
  302. // rendererers
  303.         ///////////////////////////////////////////////////////////////////////////////////////
  304.         [
  305.             uuid(37B03543-A4C8-11d2-B634-00C04F79498E),
  306.             helpstring("MS Video Control Video Renderer Class")
  307.         ]
  308.         coclass MSVidVideoRenderer
  309.         {
  310.             [default] interface IMSVidVideoRenderer2;
  311.             interface IMSVidVideoRenderer;
  312.             [default, source] interface IMSVidVideoRendererEvent;
  313.             //[default, source] interface IMSVidVideoRendererEvent2;
  314.             interface IMSVidGraphSegment;
  315.         };
  316.  
  317.         ///////////////////////////////////////////////////////////////////////////////////////
  318.         [
  319.             uuid(37B03544-A4C8-11d2-B634-00C04F79498E),
  320.             helpstring("MS Video Control Audio Renderer Class")
  321.         ]
  322.         coclass MSVidAudioRenderer
  323.         {
  324.             [default] interface IMSVidAudioRenderer;
  325.             [default, source] interface IMSVidAudioRendererEvent;
  326.             interface IMSVidGraphSegment;
  327.         };
  328.  
  329. // Stream Buffer Sink and Source and Playback
  330.         ///////////////////////////////////////////////////////////////////////////////////////
  331.         [
  332.             uuid(9E77AAC4-35E5-42a1-BDC2-8F3FF399847C),
  333.             helpstring("MS Video Control Stream Buffer Engine Sink Class")
  334.         ]
  335.         coclass MSVidStreamBufferSink
  336.         {
  337.             [default] interface IMSVidStreamBufferSink;
  338.             [default, source] interface IMSVidStreamBufferSinkEvent;
  339.             interface IMSVidGraphSegment;
  340.         };
  341.  
  342.         //////////////////////////////////////////////////////////////////////////////////////
  343.         [
  344.                 uuid(AD8E510D-217F-409b-8076-29C5E73B98E8),
  345.                 helpstring("MS Video Control Stream Buffer Engine Playback Device Class")
  346.         ]
  347.         coclass MSVidStreamBufferSource
  348.         {
  349.                 [default] interface IMSVidStreamBufferSource;
  350.                 [default, source] interface IMSVidStreamBufferSourceEvent;
  351.                 interface IMSVidGraphSegment;
  352.         };
  353.  
  354. // features
  355.  
  356.         [
  357.                 uuid(334125C0-77E5-11d3-B653-00C04F79498E),
  358.                 helpstring("MS Video Control Standard Data Services for Broadcast IP through NDIS stack")
  359.         ]
  360.         coclass MSVidDataServices
  361.         {
  362.                 interface IMSVidDataServices;
  363.         };
  364.  
  365.         [
  366.                 uuid(BB530C63-D9DF-4b49-9439-63453962E598),
  367.                 helpstring("MS Video Control Encoder")
  368.         ]
  369.         coclass MSVidEncoder
  370.         {
  371.                 interface IMSVidEncoder;
  372.         };
  373.  
  374.         [
  375.                 uuid(0149EEDF-D08F-4142-8D73-D23903D21E90),
  376.                 helpstring("MS Video Control Encoder")
  377.         ]
  378.         coclass MSVidXDS
  379.         {
  380.                 interface IMSVidXDS;
  381.         };
  382.         
  383.         [
  384.             uuid(7F9CB14D-48E4-43b6-9346-1AEBC39C64D3),
  385.             helpstring("MS Video Control Standard Closed Captioning")
  386.         ]
  387.         coclass MSVidClosedCaptioning
  388.         {
  389.             [default] interface IMSVidClosedCaptioning2;
  390.             interface IMSVidClosedCaptioning;
  391.         };
  392.  
  393. ///////////////////////////////////////////////////////////////////////////////////////
  394. // control classes
  395. ///////////////////////////////////////////////////////////////////////////////////////
  396.  
  397.         ///////////////////////////////////////////////////////////////////////////////////////
  398.         [
  399.                 uuid(B0EDF163-910A-11D2-B632-00C04F79498E),
  400.                 control,
  401.                 helpstring("MS Video Control Class")
  402.         ]
  403.         coclass MSVidCtl
  404.         {
  405.                 [default] interface IMSVidCtl;
  406.                 [default, source] dispinterface _IMSVidCtlEvents;
  407.                 interface IMSVidGraphSegmentContainer;
  408.         };
  409.  
  410. ///////////////////////////////////////////////////////////////////////////////////////
  411. // device collections
  412. ///////////////////////////////////////////////////////////////////////////////////////
  413.         [
  414.                 uuid(C5702CCC-9B79-11d3-B654-00C04F79498E),
  415.                 helpstring("MS Video Control Input Device Collection Class")
  416.         ]
  417.         coclass MSVidInputDevices
  418.         {
  419.                 [default] interface IMSVidInputDevices;
  420.         };
  421.  
  422.         [
  423.                 uuid(C5702CCD-9B79-11d3-B654-00C04F79498E),
  424.                 helpstring("MS Video Control Output Device Collection Class")
  425.         ]
  426.         coclass MSVidOutputDevices
  427.         {
  428.                 [default] interface IMSVidOutputDevices;
  429.         };
  430.  
  431.         [
  432.                 uuid(C5702CCE-9B79-11d3-B654-00C04F79498E),
  433.                 helpstring("MS Video Control Video Renderer Device Collection Class")
  434.         ]
  435.         coclass MSVidVideoRendererDevices
  436.         {
  437.                 [default] interface IMSVidVideoRendererDevices;
  438.         };
  439.  
  440.         [
  441.                 uuid(C5702CCF-9B79-11d3-B654-00C04F79498E),
  442.                 helpstring("MS Video Control Audio Renderer Device Collection Class")
  443.         ]
  444.         coclass MSVidAudioRendererDevices
  445.         {
  446.                 [default] interface IMSVidAudioRendererDevices;
  447.         };
  448.  
  449.         [
  450.                 uuid(C5702CD0-9B79-11d3-B654-00C04F79498E),
  451.                 helpstring("MS Video Control Feature Collection Class")
  452.         ]
  453.         coclass MSVidFeatures
  454.         {
  455.                 [default] interface IMSVidFeatures;
  456.         };
  457.  
  458. ///////////////////////////////////////////////////////////////////////////////////////
  459. // composites
  460. ///////////////////////////////////////////////////////////////////////////////////////
  461.  
  462.         [
  463.                 uuid(2764BCE5-CC39-11D2-B639-00C04F79498E),
  464.                 helpstring("MS Video Control Generic Composition Class")
  465.         ]
  466.         coclass MSVidGenericComposite
  467.         {
  468.                 interface IMSVidCompositionSegment;
  469.         };
  470.  
  471.         [
  472.                 uuid(E18AF75A-08AF-11d3-B64A-00C04F79498E),
  473.                 helpstring("MS Video Control Custom Composition for Analog Capture to Overlay Mixer")
  474.         ]
  475.         coclass MSVidAnalogCaptureToOverlayMixer
  476.         {
  477.                 interface IMSVidCompositionSegment;
  478.         };
  479.  
  480.         [
  481.                 uuid(C5702CD6-9B79-11d3-B654-00C04F79498E),
  482.                 helpstring("MS Video Control Custom Composition for Analog Capture to Data Services")
  483.         ]
  484.         coclass MSVidAnalogCaptureToDataServices
  485.         {
  486.                 interface IMSVidCompositionSegment;
  487.         };
  488.  
  489.  
  490.         [
  491.                 uuid(267db0b3-55e3-4902-949b-df8f5cec0191),
  492.                 helpstring("MS Video Control Custom Composition for WebDVD to Overlay Mixer")
  493.         ]
  494.         coclass MSVidWebDVDToVideoRenderer
  495.         {
  496.                 interface IMSVidCompositionSegment;
  497.         };
  498.  
  499.         [
  500.                 uuid(8D04238E-9FD1-41c6-8DE3-9E1EE309E935),
  501.                 helpstring("MS Video Control Custom Composition for WebDVD to Audio Renderer")
  502.         ]
  503.         coclass MSVidWebDVDToAudioRenderer
  504.         {
  505.                 interface IMSVidCompositionSegment;
  506.         };
  507.  
  508.         [
  509.                 uuid(6AD28EE1-5002-4e71-AAF7-BD077907B1A4),
  510.                 helpstring("MS Video Control Custom Composition for Mpeg2 Decoder to Closed Captioning")
  511.         ]
  512.         coclass MSVidMPEG2DecoderToClosedCaptioning
  513.         {
  514.                 interface IMSVidCompositionSegment;
  515.         };
  516.  
  517.         [
  518.                 uuid(9F50E8B1-9530-4ddc-825E-1AF81D47AED6),
  519.                 helpstring("MS Video Control Custom Composition for Analog Capture to Stream Buffer Sink")
  520.         ]
  521.         coclass MSVidAnalogCaptureToStreamBufferSink
  522.         {
  523.                 interface IMSVidCompositionSegment;
  524.         };
  525.  
  526.         [
  527.                 uuid(ABE40035-27C3-4a2f-8153-6624471608AF),
  528.                 helpstring("MS Video Control Custom Composition for Digital Capture to Stream Buffer Sink")
  529.         ]
  530.         coclass MSVidDigitalCaptureToStreamBufferSink
  531.         {
  532.                 interface IMSVidCompositionSegment;
  533.         };
  534.  
  535.  
  536.         [
  537.                 uuid(38F03426-E83B-4e68-B65B-DCAE73304838),
  538.                 helpstring("MS Video Control Custom Composition for Data Services to Stream Buffer Sink")
  539.         ]
  540.         coclass MSVidDataServicesToStreamBufferSink
  541.         {
  542.                 interface IMSVidCompositionSegment;
  543.         };
  544.  
  545.         [
  546.                 uuid(0429EC6E-1144-4bed-B88B-2FB9899A4A3D),
  547.                 helpstring("MS Video Control Custom Composition for DataServices To XDS")
  548.         ]
  549.         coclass MSVidDataServicesToXDS
  550.         {
  551.                 interface IMSVidCompositionSegment;
  552.         };
  553.  
  554.         [
  555.                 uuid(A0B9B497-AFBC-45ad-A8A6-9B077C40D4F2),
  556.                 helpstring("MS Video Control Custom Composition for Encoder to Stream Buffer Sink")
  557.         ]
  558.         coclass MSVidEncoderToStreamBufferSink
  559.         {
  560.                 interface IMSVidCompositionSegment;
  561.         };
  562.  
  563.         [
  564.                 uuid(B401C5EB-8457-427f-84EA-A4D2363364B0),
  565.                 helpstring("MS Video Control Custom Composition for File Playback to Video Renderer")
  566.         ]
  567.         coclass MSVidFilePlaybackToVideoRenderer
  568.         {
  569.                 interface IMSVidCompositionSegment;
  570.         };
  571.  
  572.         [
  573.                 uuid(CC23F537-18D4-4ece-93BD-207A84726979),
  574.                 helpstring("MS Video Control Custom Composition for File Playback to Audio Renderer")
  575.         ]
  576.         coclass MSVidFilePlaybackToAudioRenderer
  577.         {
  578.                 interface IMSVidCompositionSegment;
  579.         };
  580.  
  581.         [
  582.                 uuid(28953661-0231-41db-8986-21FF4388EE9B),
  583.                 helpstring("MS Video Control Custom Composition for TV Tuner to Encoder")
  584.         ]
  585.         coclass MSVidAnalogTVToEncoder
  586.         {
  587.                 interface IMSVidCompositionSegment;
  588.         };
  589.  
  590.         [
  591.                 uuid(3C4708DC-B181-46a8-8DA8-4AB0371758CD),
  592.                 helpstring("MS Video Control Custom Composition for SBE Source to Video renderer")
  593.         ]
  594.         coclass MSVidStreamBufferSourceToVideoRenderer
  595.         {
  596.                 interface IMSVidCompositionSegment;
  597.         };
  598.  
  599.         [
  600.                 uuid(3540D440-5B1D-49cb-821A-E84B8CF065A7),
  601.                 helpstring("MS Video Control Custom Composition for TV Tuner to XDS")
  602.         ]
  603.         coclass MSVidAnalogCaptureToXDS
  604.         {
  605.                 interface IMSVidCompositionSegment;
  606.         };
  607.  
  608.         [
  609.                 uuid(9193A8F9-0CBA-400e-AA97-EB4709164576),
  610.                 helpstring("MS Video Control Custom Composition for Stream Buffer Source to CC")
  611.         ]
  612.         coclass MSVidSBESourceToCC
  613.         {
  614.                 interface IMSVidCompositionSegment;
  615.         };
  616.  
  617.  
  618. ///////////////////////////////////////////////////////////////////////////////////////
  619. // Miscellaneous
  620. ///////////////////////////////////////////////////////////////////////////////////////
  621.  
  622.         // Events
  623.         [
  624.             uuid(577FAA18-4518-445E-8F70-1473F8CF4BA4),
  625.             helpstring("MSEventBinder Class")
  626.         ]
  627.         coclass MSEventBinder
  628.         {
  629.             [default] interface IMSEventBinder;
  630.         };
  631.  
  632.         [
  633.             uuid(CAAFDD83-CEFC-4e3d-BA03-175F17A24F91),
  634.             helpstring("MSVidStreamBufferRecordingControl")
  635.         ]
  636.         coclass MSVidStreamBufferRecordingControl
  637.         {
  638.             [default] interface IMSVidStreamBufferRecordingControl;
  639.         };
  640.         // vidrect class
  641.         [
  642.             hidden, restricted,
  643.             uuid(CB4276E6-7D5F-4cf1-9727-629C5E6DB6AE),
  644.             helpstring("Automation compliant scalable rectangle Class")
  645.         ]
  646.         coclass MSVidRect
  647.         {
  648.             [default] interface IMSVidRect;
  649.         };
  650.  
  651.     // NOTE: there is no object factory for the following classes.  
  652.     // the implementation for the underlying code is a c++ abstract base class.  
  653.     // this coclass is only provided here to force vb to expose the base interface 
  654.     // to enable polymorphic access to derived objects
  655.     [
  656.         hidden, restricted,
  657.         uuid(6E40476F-9C49-4c3e-8BB9-8587958EFF74),
  658.         helpstring("dummy class to expose base interface to VB")
  659.     ]
  660.     coclass MSVidDevice
  661.     {
  662.         [default] interface IMSVidDevice;
  663.     };
  664.     [
  665.         hidden, restricted,
  666.         uuid(AC1972F2-138A-4ca3-90DA-AE51112EDA28),
  667.         helpstring("dummy class to expose base interface to VB")
  668.     ]
  669.     coclass MSVidInputDevice
  670.     {
  671.         [default] interface IMSVidInputDevice;
  672.     };
  673.     [
  674.         hidden, restricted,
  675.         uuid(95F4820B-BB3A-4e2d-BC64-5B817BC2C30E),
  676.         helpstring("dummy class to expose base interface to VB")
  677.     ]
  678.     coclass MSVidVideoInputDevice
  679.     {
  680.         [default] interface IMSVidVideoInputDevice;
  681.     };
  682.     [
  683.         hidden, restricted,
  684.         uuid(1990D634-1A5E-4071-A34A-53AAFFCE9F36),
  685.         helpstring("dummy class to expose base interface to VB")
  686.     ]
  687.     coclass MSVidVideoPlaybackDevice
  688.     {
  689.         [default] interface IMSVidPlayback;
  690.     };
  691.     [
  692.         hidden, restricted,
  693.         uuid(7748530B-C08A-47ea-B24C-BE8695FF405F),
  694.         helpstring("dummy class to expose base interface to VB")
  695.     ]
  696.     coclass MSVidFeature
  697.     {
  698.         [default] interface IMSVidFeature;
  699.     };
  700.     [
  701.         hidden, restricted,
  702.         uuid(87EB890D-03AD-4e9d-9866-376E5EC572ED),
  703.         helpstring("dummy class to expose base interface to VB")
  704.     ]
  705.     coclass MSVidOutput
  706.     {
  707.         [default] interface IMSVidOutputDevice;
  708.     };
  709.  
  710.  
  711. #endif //TUNING_MODEL_ONLY 
  712.  
  713. };
  714.  
  715. // end of file msvidctl.idl
  716.